<?php

class SubtitresController extends AppController {

    var $name = 'Subtitres';
    var $components = array('Auth');
    //
    var $name2 = 'Fichiers';
    var $paginate = array(
        'limit' => 3,
        'order' => array(
            'Fichier.id' => 'desc'
            ));


    function beforeFilter() {
        $this->Auth->userModel = 'admin';
        $this->Auth->fields = array('username' => 'user', 'password' => 'mot-passe');
        $this->Auth->loginAction = array('controller' => 'admins', 'action' => 'login');
        $this->Auth->loginRedirect = array('controller' => 'pages', 'action' => 'display', 'home');
        $this->Auth->logoutRedirect = array('controller' => 'pages', 'action' => 'display', 'home');
        //$this->Auth->allow('lister_fichiers','supprimer');
    }

    function add_subtitres_videos() {


        /* if (empty($this->data)) {
          $this->loadModel('Fichier');
          $this->set('fichiers', $this->Fichier->find('all'));
          }
         */$this->loadModel('Fichier');
        $fichiers = $this->paginate('Fichier', array('Fichier.typefi' => 'video'));

        $this->set(compact('fichiers'));
    }

    function add_subtitres_video_final($id) {
        $this->loadModel('Fichier');
        $this->set('video', $this->Fichier->findById($id));
        $this->set('soustitres', $this->Subtitre->findAllByVideo($id));
    }

    function add_subtitres_audios_final($id) {
        $this->loadModel('Fichier');
        $this->set('video', $this->Fichier->findById($id));
        $this->set('soustitres', $this->Subtitre->findAllByVideo($id));
    }

    function add_subtitresvideo() {
        $f = $this->data;
        $form = $this->data;
        $ima = $this->data;
        $f = $f['Subtitre']['nom_sub'];
        $algo = $f['name'];
        $algo=str_replace(" ","_",$algo);
        //debug($algo);
        $x = $f['tmp_name'];
        $re=false;
        if (empty($this->data) == false) {

            if ($form['Subtitre']['language'] == 'Otro') {
                $form['Subtitre']['language'] = $form['Subtitre']['otro'];
                unset($form['Subtitre']['otro']);
            } else {
                unset($form['Subtitre']['otro']);
            }
            if ($x != "" && $algo != "") {
                if ($form['Subtitre']['language'] == "Francais") {
                    $cadena = '';
//                    if(rename("$x", "subf/" . $form['Subtitre']['language'] . '_' . $algo)){
//                        $re=true;
//                    }
                    $fichier = file($x);
                    $lineas = count($fichier);
                    $nuevo = fopen("subfv/" . str_replace(" ","_",$form['Subtitre']['language']) . '_' . $algo, 'w+');
                    if (is_writable("subfv/" .  str_replace(" ","_",$form['Subtitre']['language']) . '_' . $algo)) {
                         for ($i = 0; $i < $lineas; $i++) {
                                     $cadena.=$fichier[$i];
                            }
                            
                            if (!mb_detect_encoding($cadena, 'UTF-8',true=="UTF-8")) {
                                //echo utf8_encode($fichier[$i]);
                                //echo " encode: " . mb_detect_encoding($archivo[$i], 'UTF-8', true);

                                if (fwrite($nuevo,  utf8_encode($cadena)) === FALSE) {
                                    echo "No se puede escribir al archivo ()";
                                    exit;
                                }
                            } else {

                                //echo $fichier[$i];
                                //echo " encode: " . mb_detect_encoding($fichier[$i], 'UTF-8', true);
                                if (fwrite($nuevo, $cadena) === FALSE) {
                                    echo "No se puede escribir al archivo ()";
                                    exit;
                                }
                            }
                            //echo "<br/>";

                        fclose($nuevo);
                    }
                    $form['Subtitre']['nom_sub'] = 'subfv/' . str_replace(" ","_",$form['Subtitre']['language']) . '_' . $algo;
                    // debug(mb_detect_encoding($str));
                } else {
//                    if(rename("$x", "sub/" . $form['Subtitre']['language'] . '_' . $algo)){
//                        $re=true;
//                    }
                    $fichier = file($x);
                    $cadena='';
                    $lineas = count($fichier);
                    $nuevo = fopen("sub/" .  str_replace(" ","_",$form['Subtitre']['language']) . '_' . $algo, 'w+');
                    if (is_writable("sub/" .  str_replace(" ","_",$form['Subtitre']['language']) . '_' . $algo)) {
                        for ($i = 0; $i < $lineas; $i++) {
                                     $cadena.=$fichier[$i];
                            }

                            if (!mb_detect_encoding($cadena, 'UTF-8',true=="UTF-8")) {
                                //echo utf8_encode($fichier[$i]);
                                //echo " encode: " . mb_detect_encoding($archivo[$i], 'UTF-8', true);

                                if (fwrite($nuevo, utf8_encode($cadena)) === FALSE) {
                                    echo "No se puede escribir al archivo ()";
                                    exit;
                                }
                            } else {

                                //echo $fichier[$i];
                                //echo " encode: " . mb_detect_encoding($fichier[$i], 'UTF-8', true);
                                if (fwrite($nuevo, $cadena) === FALSE) {
                                    echo "No se puede escribir al archivo ()";
                                    exit;
                                }
                            }
                            //echo "<br/>";

                        fclose($nuevo);
                    }
                    $form['Subtitre']['nom_sub'] = 'sub/' . str_replace(" ","_",$form['Subtitre']['language']) . '_' . $algo;
                }
//chmod('sub/','0777');



//                if($re){
                if ($this->Subtitre->save($form)) {
                      $this->Session->setFlash('Subtitle Enregistré');
			$this->redirect(array('controller' => 'subtitres', 'action' => 'add_subtitres_videos'));

                  
                }
//                }
            }
        }
    }

    function add_subtitresaudio() {


        $f = $this->data;
        $form = $this->data;
        $ima = $this->data;
        $f = $f['Subtitre']['nom_sub'];
        $algo = $f['name'];
        $algo=str_replace(" ","_",$algo);
        //debug($algo);
        $x = $f['tmp_name'];
        $re=false;

        //echo $form['Subtitre']['fichier_id']=$vari;
//echo $nombre = $_FILES['temp']['name'];






        if (empty($this->data) == false) {

            if ($form['Subtitre']['language'] == 'Otro') {
                $form['Subtitre']['language'] = $form['Subtitre']['otro'];
                unset($form['Subtitre']['otro']);
            } else {
                unset($form['Subtitre']['otro']);
            }



            if ($x != "" && $algo != "") {
                
                 if ($form['Subtitre']['language'] == "Francais") {
                    $cadena = '';
//                    if(rename("$x", "subf/" . $form['Subtitre']['language'] . '_' . $algo)){
//                        $re=true;
//                    }
                    $fichier = file($x);
                    $lineas = count($fichier);
                    $nuevo = fopen("subfa/" . str_replace(" ","_",$form['Subtitre']['language']) . '_' . $algo, 'w+');
                    if (is_writable("subfa/" .  str_replace(" ","_",$form['Subtitre']['language']) . '_' . $algo)) {
                         for ($i = 0; $i < $lineas; $i++) {
                                     $cadena.=$fichier[$i];
                            }

                            if (!mb_detect_encoding($cadena, 'UTF-8',true=="UTF-8")) {
                                //echo utf8_encode($fichier[$i]);
                                //echo " encode: " . mb_detect_encoding($archivo[$i], 'UTF-8', true);

                                if (fwrite($nuevo,  utf8_encode($cadena)) === FALSE) {
                                    echo "No se puede escribir al archivo ()";
                                    exit;
                                }
                            } else {

                                //echo $fichier[$i];
                                //echo " encode: " . mb_detect_encoding($fichier[$i], 'UTF-8', true);
                                if (fwrite($nuevo, $cadena) === FALSE) {
                                    echo "No se puede escribir al archivo ()";
                                    exit;
                                }
                            }
                            //echo "<br/>";

                        fclose($nuevo);
                    }
                    $form['Subtitre']['nom_sub'] = 'subfa/' . str_replace(" ","_",$form['Subtitre']['language']) . '_' . $algo;
                    // debug(mb_detect_encoding($str));
                } else {
//                    if(rename("$x", "sub/" . $form['Subtitre']['language'] . '_' . $algo)){
//                        $re=true;
//                    }
                    $fichier = file($x);
                    $cadena='';
                    $lineas = count($fichier);
                    $nuevo = fopen("sub/" .  str_replace(" ","_",$form['Subtitre']['language']) . '_' . $algo, 'w+');
                    if (is_writable("sub/" .  str_replace(" ","_",$form['Subtitre']['language']) . '_' . $algo)) {
                        for ($i = 0; $i < $lineas; $i++) {
                                     $cadena.=$fichier[$i];
                            }

                            if (!mb_detect_encoding($cadena, 'UTF-8',true=="UTF-8")) {
                                //echo utf8_encode($fichier[$i]);
                                //echo " encode: " . mb_detect_encoding($archivo[$i], 'UTF-8', true);

                                if (fwrite($nuevo, utf8_encode($cadena)) === FALSE) {
                                    echo "No se puede escribir al archivo ()";
                                    exit;
                                }
                            } else {

                                //echo $fichier[$i];
                                //echo " encode: " . mb_detect_encoding($fichier[$i], 'UTF-8', true);
                                if (fwrite($nuevo, $cadena) === FALSE) {
                                    echo "No se puede escribir al archivo ()";
                                    exit;
                                }
                            }
                            //echo "<br/>";

                        fclose($nuevo);
                    }
                    $form['Subtitre']['nom_sub'] = 'sub/' . str_replace(" ","_",$form['Subtitre']['language']) . '_' . $algo;
                }


                
                if ($this->Subtitre->save($form)) {
                      $this->Session->setFlash('Subtitle Enregistré');
			$this->redirect(array('controller' => 'subtitres', 'action' => 'add_subtitres_audios'));

                
                }
            }
        }
    }

    function add_subtitres_audios() {
        if (empty($this->data)) {
            $this->loadModel('Fichier');
            $this->set('fichiers', $this->Fichier->find('all'));
        }
    }

    function lister_fichiers() {
        if (empty($this->data)) {
            $this->loadModel('Fichier');
            $conditions = array('OR' => array("Fichier.typefi" => array("video","audio")));
             $fichiers = $this->paginate('Fichier', $conditions);

            $this->set(compact('fichiers'));

            
            
            
            $this->set('fichier',$this->Fichier->find("all",$conditions));
            //debug($this->Fichier->find("all",$conditions));
        }
    }

    function supprimer($id){

        if($this->Subtitre->delete()){
            $this->Session->setFlash('Le sous-titre a été effacé .');
            $this->redirect(array('action' => 'lister_fichiers'));
        }

    }

}

?>